// 更新时只需更新子节点
// vnode 当前节点
// newVnode 更新后的节点
function update(vnode, newVnode) {
  // 现有节点
  let children = vnode.children || []
  // 更新后的节点
  let newChildren = newVnode.children || []

  // 遍历对比新老节点
  children.forEach((item, index) => {
    // 更新后的节点
    let newChildrenVnode = newChildren[index]
    // 对比第一层标签名是否一致
    if(newChildrenVnode.tag === item.tag) {
      // 第一层一致则递归继续比对第二层
      update(item, newChildrenVnode)
    } else {
      // 如果不一致则会使用node中的replaceNode方法替换节点
      replaceNode(item, newChildrenVnode)
    }
  });
}